/**
 * 本项目采用《JFinal 俱乐部授权协议》，保护知识产权，就是在保护我们自己身处的行业。
 * 
 * Copyright (c) 2011-2021, jfinal.com
 */

package com.l2qq.common;

import com.jfinal.core.Controller;
import com.jfinal.core.NotAction;
import com.l2qq.common.kit.SaTokenKit;
import com.l2qq.common.model.Account;

/**
 * 基础控制器，方便获取登录信息。随着业务的增加，可在此添加更多便利方法
 * 
 * 注意：
 *    需要 LoginSessionInterceptor 配合，该拦截器使用
 *    setAttr("loginAccount", ...) 事先注入了登录账户
 *    否则即便已经登录，该控制器也会认为没有登录
 */
public class BaseController extends Controller {
	
	/**
	 * 获取登录账户
	 */
	@NotAction
	public Account getLoginAccount() {
		Account loginAccount = SaTokenKit.getLoginAccount();
		return loginAccount;
	}
	
	/**
	 * 获取登录账户id
	 * 确保在 FrontAuthInterceptor 之下使用，或者 isLogin() 为 true 时使用
	 * 也即确定已经是在登录后才可调用
	 */
	@NotAction
	public int getLoginAccountId() {
		return getLoginAccount().getId();
	}
	
}


